home *** CD-ROM | disk | FTP | other *** search
/ Aminet 51 / Aminet 51 (2002)(GTI - Schatztruhe)[!][Oct 2002].iso / Aminet / gfx / fract / FlashMandelWOS.lha / FlashMandel / ARexx / Test_ARexx.rexx < prev   
Encoding:
OS/2 REXX Batch file  |  2002-03-17  |  7.9 KB  |  362 lines

  1. /*
  2.     Test_ARexx.rexx
  3.  
  4.     test all commands of FlashMandelWOS.
  5.  
  6.     Set "IF 0" to "IF 1" to test the command.
  7.  
  8.     © 2002 Edgar Schwan
  9.  
  10.     $VER: Test_ARexx.rexx 1.1 (19.2.2002)
  11. */
  12.  
  13. PARSE ARG portname ' ' .
  14. IF portname = "" THEN
  15.   ADDRESS FLASHMANDEL.1;
  16. ELSE
  17.   ADDRESS VALUE portname;
  18.  
  19. OPTIONS RESULTS;
  20. OPTIONS FAILAT 21
  21.  
  22. IF ~SHOW('L','rexxsupport.library') THEN      /* 'rexxsupport.library' laden */
  23.    CALL ADDLIB('rexxsupport.library',0,-30);
  24.  
  25.  
  26.                                      /****   PROJECT   ****/
  27.  
  28. /* ARexx-Command 'ABOUT'.    Template: - */
  29. IF 0 THEN DO
  30.   'ABOUT'
  31.   END
  32.  
  33. /* ARexx-Command 'SYSINFO'.    Template: - */
  34. IF 0 THEN DO
  35.   'SYSINFO'
  36.   END
  37.  
  38. /* ARexx-Command 'HELP'.   Template: - */
  39. IF 0 THEN DO
  40.   'HELP'
  41.   END
  42.  
  43. /* ARexx-Command 'LOAD_PICTURE'.   Template: "PATH,FAST/S" */
  44. IF 0 THEN DO
  45.   'LOAD_PICTURE' 'FLASHMANDEL:Pictures/Mandelbrot_def.iff' 'FAST'
  46.   'LOAD_PICTURE'
  47.   END
  48.  
  49. /* ARexx-Command 'SAVE_PICTURE'.   Template: "PATH,FORCE/S" */
  50. IF 0 THEN DO
  51.   'SAVE_PICTURE' 'ram:FlashMandel_test.iff' 'FORCE'
  52.   'SAVE_PICTURE'
  53.   END
  54.  
  55. /* ARexx-Command 'LOAD_PALETTE'.   Template: "PATH,FAST/S" */
  56. IF 0 THEN DO
  57.   'LOAD_PALETTE' 'FLASHMANDEL:Palettes/Palette_def.256' 'FAST'
  58. /*  'LOAD_PALETTE'*/
  59.   END
  60.  
  61. /* ARexx-Command 'SAVE_PALETTE'.   Template: "PATH,FORCE/S" */
  62. IF 0 THEN DO
  63.   'SAVE_PALETTE' 'ram:Palette_test.256' 'FORCE'
  64.   'SAVE_PALETTE'
  65.   END
  66.  
  67. /* ARexx-Command 'PRINT'.   Template: "FORCE/S" */
  68. IF 0 THEN DO
  69.   'PRINT' 'FORCE'
  70.   END
  71.  
  72. /* ARexx-Command 'QUIT'.    Template: "FORCE/S" */
  73. IF 0 THEN DO
  74.   'QUIT' 'FORCE'
  75.   EXIT 0
  76.   END
  77.  
  78.                                      /****   OPTIONS   ****/
  79.  
  80. /* ARexx-Command 'SHOW_TITLE'.  Template: "BOOLEAN/A/N" */
  81. IF 0 THEN DO
  82.   'SHOW_TITLE' '0'
  83.   END
  84.  
  85. /* ARexx-Command 'SHOW_ELAPSED'.  Template: - */
  86. IF 0 THEN DO
  87.   Call Delay(200);
  88.   'SHOW_ELAPSED'
  89.   END
  90.  
  91. /* ARexx-Command 'SET_COORDINATES'.   Template: "STEM" */
  92. IF 0 THEN DO
  93.   COORDS.RMIN = '-1.336';   /* Left */
  94.   COORDS.RMAX = '-0.336';   /* Top */
  95.   COORDS.IMIN = '+0.064';   /* Right */
  96.   COORDS.IMAX = '+0.816';   /* Bottom */
  97.   COORDS.JKRE = '1';        /* Julia Real */
  98.   COORDS.JKIM = '0';        /* Julia Imag */
  99.   'SET_COORDINATES' 'COORDS'
  100.   'RENDER' 'FORCE'
  101.   'SET_COORDINATES'
  102.   END
  103.  
  104. /* ARexx-Command 'GET_COORDINATES'.   Template: "STEM/A" */
  105. IF 0 THEN DO
  106.   'GET_COORDINATES' 'COORDS'
  107.   SAY "RMIN: " COORDS.RMIN;  /* Left */
  108.   SAY "RMAX: " COORDS.RMAX;  /* Top */
  109.   SAY "IMIN: " COORDS.IMIN;  /* Right */
  110.   SAY "IMAX: " COORDS.IMAX;  /* Bottom */
  111.   SAY "JKRE: " COORDS.JKRE;  /* Julia Real */
  112.   SAY "JKIM: " COORDS.JKIM;  /* Julia Imag */
  113.   SAY "";
  114.   END
  115.  
  116. /* ARexx-Command 'SET_ITERATIONS'.  Template: "NUMBER/N" */
  117. IF 0 THEN DO
  118.   'SET_ITERATIONS' '1023'
  119.   'SET_ITERATIONS'
  120.   END
  121.  
  122. /* ARexx-Command 'GET_ITERATIONS'.  Template: "VAR/A" */
  123. IF 0 THEN DO
  124.   'GET_ITERATIONS' 'ITERATIONS'
  125.   SAY "Iterations: " ITERATIONS;
  126.   SAY "";
  127.   END
  128.  
  129. /* ARexx-Command 'SET_POWER'.  Template: "INDEX/A/N" */
  130. IF 0 THEN DO
  131.   'SET_POWER' '4'
  132.   END
  133.  
  134. /* ARexx-Command 'GET_POWER'.  Template: "VAR/A" */
  135. IF 0 THEN DO
  136.   'GET_POWER' 'POWER'
  137.   SAY "Power: " POWER;
  138.   SAY "";
  139.   END
  140.  
  141. /* ARexx-Command 'SET_PRIORITY'.  Template: "PRI/A" */
  142. IF 0 THEN DO
  143.   'SET_PRIORITY' '0'
  144.   END
  145.  
  146. /* ARexx-Command 'GET_PRIORITY'.  Template: "VAR/A" */
  147. IF 0 THEN DO
  148.   'GET_PRIORITY' 'PRIORITY'
  149.   SAY "Priority: " PRIORITY
  150.   SAY ""
  151.   END
  152.  
  153. /* ARexx-Command 'SET_COLOR_REMAP'.  Template: "INDEX/A/N" */
  154. IF 0 THEN DO
  155.   'SET_COLOR_REMAP' '2'
  156.   END
  157.  
  158. /* ARexx-Command 'GET_COLOR_REMAP'.  Template: "VAR/A" */
  159. IF 0 THEN DO
  160.   'GET_COLOR_REMAP' 'REMAP_INDEX'
  161.   SAY "Color-remap-index: " REMAP_INDEX;
  162.   SAY "";
  163.   END
  164.  
  165. /* ARexx-Command 'SET_FRACTAL_TYPE'.  Template: "INDEX/A/N" */
  166. IF 0 THEN DO
  167.   'SET_FRACTAL_TYPE' '2'
  168.   END
  169.  
  170. /* ARexx-Command 'GET_FRACTAL_TYPE'.  Template: "VAR/A" */
  171. IF 0 THEN DO
  172.   'GET_FRACTAL_TYPE' 'FRAC_INDEX'
  173.   SAY "Fractal-type-index: " FRAC_INDEX;
  174.   SAY "";
  175.   END
  176.  
  177. /* ARexx-Command 'SET_CPU_TYPE'.  Template: "INDEX/A/N" */
  178. IF 0 THEN DO
  179.   'SET_CPU_TYPE' '2'
  180.   'GET_CPU_TYPE' 'CPU_TYPE'
  181.   SAY "CPU-type-index: " CPU_TYPE;
  182.   SAY "";
  183.   END
  184.  
  185. /* ARexx-Command 'GET_CPU_TYPE'.  Template: "VAR/A" */
  186. IF 0 THEN DO
  187.   'GET_CPU_TYPE' 'CPU_TYPE'
  188.   SAY "CPU-type-index: " CPU_TYPE;
  189.   SAY "";
  190.   END
  191.  
  192.                                      /****   CALCULATION   ****/
  193.  
  194. /* ARexx-Command 'SHOW_PREVIEW'.  Template: - */
  195. IF 0 THEN DO
  196.   'SHOW_PREVIEW'
  197.   END
  198.  
  199. /* ARexx-Command 'RENDER'.   Template: "FORCE/S" */
  200. IF 0 THEN DO
  201.   'RENDER' 'FORCE'
  202.   SAY "Elapsed: " RESULT
  203.   SAY ""
  204.   END
  205.  
  206. /* ARexx-Command 'UNDO'.  Template: - */
  207. IF 0 THEN DO
  208.   'UNDO'
  209.   'RENDER' 'FORCE'
  210.   END
  211.  
  212. /* ARexx-Command 'SET_FRAME'.   Template: "STEM/A" */
  213. IF 0 THEN DO
  214.   FRAME.LEFT = -40;
  215.   FRAME.TOP = 40;
  216.   FRAME.RIGHT = 900;
  217.   FRAME.BOTTOM = 800;
  218.   'SET_FRAME' 'FRAME'
  219.  
  220.   'GET_FRAME' 'FRAME'
  221.   SAY "Frame-left: " FRAME.LEFT;
  222.   SAY "Frame-top: " FRAME.TOP;
  223.   SAY "Frame-right: " FRAME.RIGHT;
  224.   SAY "Frame-bottom: " FRAME.BOTTOM;
  225.   SAY "";
  226.   END
  227.  
  228. /* ARexx-Command 'GET_FRAME'.   Template: "STEM/A" */
  229. IF 0 THEN DO
  230.   'GET_FRAME' 'FRAME'
  231.   SAY "Frame-left: " FRAME.LEFT;
  232.   SAY "Frame-top: " FRAME.TOP;
  233.   SAY "Frame-right: " FRAME.RIGHT;
  234.   SAY "Frame-bottom: " FRAME.BOTTOM;
  235.   SAY "";
  236.   END
  237.  
  238. /* ARexx-Command 'ZOOM'.   Template: "LEFT/A/N,TOP/A/N,WIDTH/A/N,HEIGHT/A/N,REPEATS/N,FAST/S,STEPS/N" */
  239. IF 0 THEN DO
  240.   FACT = 1.1;
  241.   REPEATS = 5;
  242.   STEPS = 1;
  243.   ZOOMWIDTH = Round(800 / FACT);
  244.   ZOOMHEIGHT = Round(600 / FACT);
  245.   ZOOMLEFT = Round((800 - ZOOMWIDTH ) / 2.8);
  246.   ZOOMTOP = Round((600 - ZOOMHEIGHT) / 2.8);
  247.   'ZOOM' ZOOMLEFT ZOOMTOP ZOOMWIDTH ZOOMHEIGHT REPEATS STEPS 'FAST';
  248.   SAY "zoom-elapsed: " RESULT;
  249.   SAY "";
  250.   END
  251.  
  252.                                      /****   DISPLAY   ****/
  253.  
  254. /* ARexx-Command 'DO_COLORCYCLING'.  Template: "FORWARD/S,BACKWARD/S" */
  255. IF 0 THEN DO
  256.   'DO_COLORCYCLING' 'FORWARD'
  257.   Call Delay(200);
  258.   'DO_COLORCYCLING' 'BACKWARD'
  259.   END
  260.  
  261. /* ARexx-Command 'SET_DELAY'.  Template: "SECONDS/N" */
  262. IF 0 THEN DO
  263.   'SET_DELAY' '3'
  264.   'SET_DELAY'
  265.   END
  266.  
  267. /* ARexx-Command 'GET_DELAY'.  Template: "VAR/A" */
  268. IF 0 THEN DO
  269.   'GET_DELAY' 'DELAY'
  270.   SAY "Delay: " DELAY;
  271.   SAY "";
  272.   END
  273.  
  274. /* ARexx-Command 'SET_PALETTE'.  Template: "STEM,FAST/S" */
  275. IF 0 THEN DO
  276.   SAY "Host:" Address()
  277.   PALETTE.252 = '00 22 55 88'x;
  278.   PALETTE.253 = '00 66 22 EE'x;
  279.   PALETTE.254 = '00 44 FF AA'x;
  280.   PALETTE.255 = '00 BB BB 33'x;
  281.   'SET_PALETTE' 'PALETTE' 'FAST'
  282. /*  'SET_PALETTE'*/
  283.   END
  284.  
  285. /* ARexx-Command 'GET_PALETTE'.  Template: "STEM/A" */
  286. IF 0 THEN DO
  287.   'GET_PALETTE' 'PALETTE'
  288.   DO I = 0 TO 255
  289.     SAY "Color" I ||": '" || C2X(PALETTE.I) || "'x";
  290.     END I
  291.   SAY "";
  292.   END
  293.  
  294. /* ARexx-Command 'SET_SCREENATTRS'.   Template: "STEM,FAST/S" */
  295. IF 0 THEN DO
  296.   DIMS.MODE = '40D20001'x
  297.   DIMS.WIDTH = 640;
  298.   DIMS.HEIGHT = 480;
  299.   DIMS.DEPTH = 8;
  300.   DIMS.OSCANTYPE = 'TEXT';
  301.   'SET_SCREENATTRS DIMS'
  302.   'SET_SCREENATTRS'
  303.   END
  304.  
  305. /* ARexx-Command 'GET_SCREENATTRS'.   Template: "STEM/A" */
  306. IF 0 THEN DO
  307.   'GET_SCREENATTRS' 'DIMS';
  308.   SAY "Screen-mode: '" || C2X(DIMS.MODE) || "'x";
  309.   SAY "Screen-width: " DIMS.WIDTH;
  310.   SAY "Screen-height: " DIMS.HEIGHT;
  311.   SAY "Screen-depth: " DIMS.DEPTH;
  312.   SAY "";
  313.   END
  314.  
  315. /* ARexx-Command 'SET_FONT'.  Template: "STEM,FAST/S" */
  316. IF 0 THEN DO
  317.   FONT_ATTR.FONTNAME = "diamond.font";
  318.   FONT_ATTR.SIZE = 12;
  319.   FONT_ATTR.STYLE = "BOLD";
  320.   'SET_FONT' 'FONT_ATTR' 'FAST'
  321.   'SET_FONT'
  322.   END
  323.  
  324. /* ARexx-Command 'GET_FONT'.   Template: "STEM/A" */
  325. IF 0 THEN DO
  326.   'GET_FONT' 'FONT_ATTR';
  327.   SAY "Fontname: " FONT_ATTR.FONTNAME;
  328.   SAY "Fontsize: " FONT_ATTR.SIZE;
  329.   SAY "Fontstyle: " FONT_ATTR.STYLE;
  330.   SAY "";
  331.   END
  332.  
  333.                                      /****   MISC   ****/
  334.  
  335. /* ARexx-Command 'START_TIMER'.  Template: - */
  336. /* ARexx-Command 'STOP_TIMER'.  Template: - */
  337. IF 0 THEN DO
  338.   'START_TIMER'
  339.   'RENDER' 'FORCE'
  340.   'STOP_TIMER'
  341.   SAY "Time: " RESULT;
  342.   SAY "";
  343.   END
  344.  
  345. /* ARexx-Command 'PLAY_SOUND'.  Template: "PATH/A,ASYNC/S,REPEAT/S" */
  346. IF 0 THEN DO
  347.   'PLAY_SOUND' 'FLASHMANDEL:Welcome.8svx ASYNC REPEAT'
  348.   END
  349.  
  350. /* ARexx-Command 'STOP_SOUND'.  Template: - */
  351. IF 0 THEN DO
  352.   'STOP_SOUND'
  353.   END
  354.  
  355. EXIT 0;
  356.  
  357.  
  358. Round:
  359. PARSE ARG Number;
  360. IF INDEX(Number, '.') ~= 0 THEN Number = LEFT(Number, (INDEX(Number, '.') - 1));
  361. RETURN Number;
  362.